/*jslint browser: true, devel: true, bitwise: true, white: true, plusplus: true, forin:true, nomen:true */
/*global $:true, define:true */

/**
 * @module Test
 */

define(['WID/Test/Matcher'],function(Matcher) {
"use strict";

function toBeGreaterThan() {
} var extend = Object.create(Matcher.prototype);extend.constructor = toBeGreaterThan;

toBeGreaterThan.Comparator = function(v1, v2) {return (v1 > v2);};

extend.getName = function() {
	return 'toBeGreaterThan';
};

extend.match = function(target, negation, exp, comparator) {
	comparator = comparator||toBeGreaterThan.Comparator;
	return (negation)?!comparator(target,exp):comparator(target,exp);
};

extend.getInfo = function(target, negation, exp) {
	return Matcher.prototype.getInfo.call(this,target,negation,exp)+'to be greater than '+Matcher.toPrimitive(exp);
};
 
toBeGreaterThan.prototype = extend;
return toBeGreaterThan;
});
